// 例子1：
function add([x, y, z = 3]) {
  return x + y + z;
}

console.log(add([1, 2])); // 6

// 例子2：
console.log(
  ([a, b] = [
    [1, 2],
    [3, 4],
  ].map(([a, b]) => a + b))
);

console.log(a, b); // 3 7

// 例子3：参数默认值
function move({ x = 0, y = 0 } = {}) {
  return [x, y];
}
console.log(move()); // [0, 0]
console.log(move({ x: 3 })); // [3, 0]

// 例子4：参数解构默认值
function move1({ x, y } = { x: 0, y: 0 }) {
  return [x, y];
}

console.log(move1()); // [0, 0]
console.log(move1({ x: 3 })); // [3, undefined]

// 【undefined 会触发函数】
console.log(([a, b, c] = [1, undefined, 3].map((x = "yes") => x)));
console.log(a, b, c); // 1 yes 3
